﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace GreenPepperTest {

    public class MarbleValue {
        private double value;

        internal MarbleValue(double value) {
            this.value = value;
        }

        public double Value {
            get {
                return this.value;
            }
            set {
                this.value = value;
            }
        }

        public override string ToString() {
            Console.WriteLine("ToString wurde aufgerufen.");
            return value.ToString() + " VU";
        }

        public static MarbleValue ValueOf(string value) {
            Console.WriteLine("ValueOf wurde aufgerufen.");
            return new MarbleValue(Double.Parse(value.Replace("VU", "")));
        }

        public override bool Equals(object that) {
            Console.WriteLine("Equals wurde aufgerufen.");
            if (that is MarbleValue)
                return (this.Value.CompareTo(((MarbleValue) that).Value) == 0);
            else
                return true;
        }

    }
}
